package payment.mobilepos.unionpay.com.metroguide.ui;

import android.content.Context;

import com.iflytek.cloud.SpeechRecognizer;

import java.util.List;

import io.reactivex.Observable;
import payment.mobilepos.unionpay.com.metroguide.bean.QueryFare;

/**
 * <pre>
 *     author : liuso
 *     e-mail : xxx@xx
 *     time   : 2018/12/24
 *     desc   :
 *     version: 1.0
 * </pre>
 */
public interface MainContract {
    interface Model extends BaseModel {
        Observable<List<String>> getAllStations();

        Observable<QueryFare> queryFare(String startStationKey, String endStationsKey, String type);

        Observable<Object> queryPath(String startStationKey, String endStationsKey, String type, Context context);
    }

    interface View extends BaseView {
        Context getContext();
        void updateView(String price, String path);
    }

    abstract class Presenter extends BasePresenter<View, Model> {
        public abstract void init();

        public abstract SpeechRecognizer getReconizer();


        public abstract void queryFare(String startStationKey, String endStationsKey);

        public abstract void queryPath(String startStationKey, String endStationsKey);

    }
}
